const http = require('http')
const url = require('url')

const server = http.createServer((request, response) => {
  const urlObj = url.parse(request.url, true)

  let data = ''
  request.on('data', (chunk) => {
    data += chunk
  })

  request.on('end', () => {
    switch (urlObj.pathname) {
      case '/getUserInfo':
        const data = {
          name: '张三',
          id: '1',
          sex: '男',
        }
        response.writeHead(200, {
          'Access-Control-Allow-Credentials': 'true', // 后端允许发送Cookie
          'Access-Control-Allow-Origin': 'http://127.0.0.1:9000', // 允许访问的域（协议+域名+端口）
          /*
           * 此处设置的cookie还是 localhost:8080 的而非 127.0.0.1:9000，因为后端也不能跨域写cookie(nginx反向代理可以实现)，
           * 但只要 localhost:8080 中写入一次cookie认证，后面的跨域接口都能从 localhost:8080 中获取cookie，从而实现所有的接口都能跨域访问
           */
          'Set-Cookie': 'l=a123456;Path=/;Domain=localhost:8080;HttpOnly', // HttpOnly的作用是让js无法读取cookie
          'Content-Type': 'application/json;charset=utf-8'
        })
        response.end(JSON.stringify(data))
        break
      default:
        response.end('404.')
        break
    }
  })
})

server.listen(8080, () => {
  console.log('localhost:8080');
})
